    import org.apache.commons.net.telnet.TelnetClient;

    import java.io.InputStream;
    import java.io.PrintStream;

    public class teste2 {
    private TelnetClient telnet = new TelnetClient();
    private InputStream in;
    private PrintStream out;
    private String prompt = "#";

    public teste2(String server, String user, String password) {
    try {
    // Connect to the specified server
    telnet.connect("localhost", 4212);

    // Get input and output stream references
    in = telnet.getInputStream();
    out = new PrintStream(telnet.getOutputStream());

    // Log the user on
    readUntil("Password: ");
    write(password);

    // Advance to a prompt
    //readUntil(prompt + " ");
    }
    catch (Exception e) {
    e.printStackTrace();
    }
    }

    public void su(String password) {
    try {
    write("su");
    readUntil("Password: ");
    write(password);
    prompt = "#";
    readUntil(prompt + " ");
    }
    catch (Exception e) {
    e.printStackTrace();
    }
    }

    public String readUntil(String pattern) {
    try {
    char lastChar = pattern.charAt(pattern.length() - 1);
    StringBuffer sb = new StringBuffer();
    boolean found = false;
    char ch = (char) in.read();
    while (true) {
    System.out.print(ch);
    sb.append(ch);
    if (ch == lastChar) {
    if (sb.toString().endsWith(pattern)) {
    return sb.toString();
    }
    }
    ch = (char) in.read();
    }
    }
    catch (Exception e) {
    e.printStackTrace();
    }
    return null;
    }

    public void write(String value) {
    try {
    out.println(value);
    out.flush();
    System.out.println(value);
    }
    catch (Exception e) {
    e.printStackTrace();
    }
    }

    public String sendCommand(String command) {
    try {
    write(command);
    return readUntil(prompt + " ");
    }
    catch (Exception e) {
    e.printStackTrace();
    }
    return null;
    }

    public void disconnect() {
    try {
    telnet.disconnect();
    }
    catch (Exception e) {
    e.printStackTrace();
    }
    }

    public static void main(String[] args) {
    try {
    teste2 telnet = new teste2("127.0.0.1","username","456");
    telnet.readUntil(">");
    telnet.write("del teste");
    telnet.readUntil(">");
    telnet.write("new teste broadcast enabled");
    telnet.readUntil(">");
    telnet.write("setup teste input C:\\Bermcs\\Filmes\\foxnews-invictus-a.avi ");
    telnet.readUntil(">");
    telnet.write("setup teste output #http{mux=ts,dst=:8080/}" );
    telnet.readUntil(">");
    telnet.write("control teste play");
    telnet.readUntil(">"); 

    
    telnet.disconnect();
    }
    catch (Exception e) {
    e.printStackTrace();
    }
    }
    } 